As available computing resources continue to increase in line with advances in computing technology, additional resources become expendable on providing rich user experiences. One mechanism to provide rich experiences is animation. Animations can be employed to create fluid and seamless transitions between different contexts. For instance, context transitions, e.g., a transition from one mode of an application to another mode of the application, can be animated to provide a user with a seamless, visual switch between the modes.
However, in some situations, context transitions can involve or extend across multiple processes or applications. In an example of such a transition, opening a picture, in a picture viewing application, from a thumbnail representation in a file exploration application, involves a context switch from the file exploration application to the picture viewing application. Further to this example, the picture viewing application can display the picture in a full screen representation.
Typically, animating such a context switch, e.g., between the file exploration application and the picture viewing application, can be attempted in a unilateral or bilateral fashion. In a unilateral manner, either the file exploration application or the picture viewing application can drive a visual transition animation. However, the file exploration application, if it draws the animation, does not know where the destination point, e.g., of the display, is in the picture viewing application. Similarly, when the picture viewing application draws the animation, the picture viewing application does not possess knowledge on an origination point, in the file exploration application, of the animation.
For bilaterally driven animations, applications involved in a transition will jointly draw an animation. According to the previous example, the file exploration application and the picture viewing application can both draw the animation. For instance, the file exploration can initiate the animation, e.g., start rendering, e.g., drawing, the animation, and the picture viewing application can finish the animation. Accordingly, a handoff, of drawing responsibility, occurs between the file exploration application and the picture viewing application. The handoff causes a seam or incongruency in the animation, which is visible to the user.
The above-described deficiencies of today's visual transition systems are merely intended to provide an overview of some of the problems of conventional systems, and are not intended to be exhaustive. Other problems with conventional systems and corresponding benefits of the various non-limiting embodiments described herein may become further apparent upon review of the following description.